package Day017_缓冲流_转换流_序列化流_打印流.demo6_装饰设计模式;

/**
 * @author zhangyan
 * @date 2020/5/9 15:25
 */
/*
        实现步骤:
        1. 装饰类和被装饰类必须实现相同接口
        2. 装饰类中必须传入被装饰类的引用
        3. 在装饰类中对需要扩展的方法进行扩展
        4. 在装饰类中对不需要扩展的方法调用被装饰类中的同名方法
*/

public class LiuDeHuaWrapper implements star {
    //
    LiuDeHua ldh;

    public LiuDeHuaWrapper(LiuDeHua ldh) {
        this.ldh = ldh;
    }

    @Override
    public void sing() {
        ldh.sing();
    }

    @Override
    public void dance() {
        System.out.println("刘德华在鸟巢跳舞...");
    }
}
